home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 65.zip / BS1 part 65 / DevPac v3.02b.adf / include / workbench / workbench.i < prev   
Text File  |  1991-11-20  |  3KB  |  107 lines

  1.     IFND    WORKBENCH_WORKBENCH_I
  2. WORKBENCH_WORKBENCH_I    SET    1
  3. **
  4. **    $Filename: workbench/workbench.i $
  5. **    $Release: 1.3 $
  6. **
  7. **    
  8. **
  9. **    (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND    EXEC_TYPES_I
  14.     INCLUDE "exec/types.i"
  15.     ENDC    ; EXEC_TYPES_I
  16.  
  17.     IFND    EXEC_NODES_I
  18.     INCLUDE "exec/nodes.i"
  19.     ENDC    ; EXEC_NODES_I
  20.  
  21.     IFND    EXEC_LISTS_I
  22.     INCLUDE "exec/lists.i"
  23.     ENDC    ; EXEC_LISTS_I
  24.  
  25.     IFND    EXEC_TASKS_I
  26.     INCLUDE "exec/tasks.i"
  27.     ENDC    ; EXEC_TASKS_I
  28.  
  29.     IFND    INTUITION_INTUITION_I
  30.     INCLUDE "intuition/intuition.i"
  31.     ENDC    ; INTUITION_INTUITION_I
  32.  
  33.  
  34. ; the Workbench object types
  35. WBDISK        EQU    1
  36. WBDRAWER    EQU    2
  37. WBTOOL        EQU    3
  38. WBPROJECT    EQU    4
  39. WBGARBAGE    EQU    5
  40. WBDEVICE    EQU    6
  41. WBKICK        EQU    7
  42.  
  43.  
  44. ; the main workbench object structure
  45.  STRUCTURE DrawerData,0
  46.     STRUCT    dd_NewWindow,nw_SIZE    ; args to open window
  47.     LONG    dd_CurrentX        ; current x coordinate of origin
  48.     LONG    dd_CurrentY        ; current y coordinate of origin
  49.     LABEL    dd_SIZEOF
  50.  
  51. ; the amount of DrawerData actually written to disk
  52. DRAWERDATAFILESIZE    EQU (dd_SIZEOF)
  53.  
  54.  
  55.  STRUCTURE DiskObject,0
  56.     UWORD    do_Magic        ; a magic num at the start of the file
  57.     UWORD    do_Version        ; a version number, so we can change it
  58.     STRUCT    do_Gadget,gg_SIZEOF    ; a copy of in core gadget
  59.     UWORD    do_Type
  60.     APTR    do_DefaultTool
  61.     APTR    do_ToolTypes
  62.     LONG    do_CurrentX
  63.     LONG    do_CurrentY
  64.     APTR    do_DrawerData
  65.     APTR    do_ToolWindow        ; only applies to tools
  66.     LONG    do_StackSize        ; only applies to tools
  67.     LABEL    do_SIZEOF
  68.  
  69. WB_DISKMAGIC    EQU    $e310    ; a magic number, not easily impersonated
  70. WB_DISKVERSION    EQU    1    ; our current version number
  71.  
  72.  STRUCTURE FreeList,0
  73.     WORD    fl_NumFree
  74.     STRUCT    fl_MemList,LH_SIZE
  75.     ; weird name to avoid conflicts with FileLocks
  76.     LABEL    FreeList_SIZEOF
  77.  
  78.  
  79.  
  80. * each message that comes into the WorkBenchPort must have a type field
  81. * in the preceeding short.  These are the defines for this type
  82. *
  83.  
  84. MTYPE_PSTD        EQU    1    ; a "standard Potion" message
  85. MTYPE_TOOLEXIT        EQU    2    ; exit message from our tools
  86. MTYPE_DISKCHANGE    EQU    3    ; dos telling us of a disk change
  87. MTYPE_TIMER        EQU    4    ; we got a timer tick
  88. MTYPE_CLOSEDOWN        EQU    5    ; <unimplemented>
  89. MTYPE_IOPROC        EQU    6    ; <unimplemented>
  90.  
  91.  
  92. * workbench does different complement modes for its gadgets.
  93. * It supports separate images, complement mode, and backfill mode.
  94. * The first two are identical to intuitions GADGIMAGE and GADGHCOMP.
  95. * backfill is similar to GADGHCOMP, but the region outside of the
  96. * image (which normally would be color three when complemented)
  97. * is flood-filled to color zero.
  98. *
  99. GADGBACKFILL        EQU    $0001
  100.  
  101. * if an icon does not really live anywhere, set its current position
  102. * to here
  103. *
  104. NO_ICON_POSITION    EQU    ($80000000)
  105.  
  106.     ENDC    ; WORKBENCH_WORKBENCH_I
  107.